﻿///////////////////////////////////////////////////////////////////////////////
// Copyright 2016 lingzimaike@gmail.com
// GPLv2
// Author: lingzimaike
///////////////////////////////////////////////////////////////////////////////

#ifndef PAPA_NET_SOCKET_EVENT_HANDLER_FACTORY_H_
#define PAPA_NET_SOCKET_EVENT_HANDLER_FACTORY_H_

#include <papa/base.h>
#include <papa/net/socket_event_handler.h>

namespace papa {
namespace net {

	class SocketEventHandlerFactory
	{
	public:
		SocketEventHandlerFactory(void) {}
		virtual ~SocketEventHandlerFactory(void) {}

		virtual SocketEventHandler* Create(void) = 0;

	private:
		PAPA_DISALLOW_COPY_AND_ASSIGN(SocketEventHandlerFactory)
	};

}}  // namespace papa::net

#endif // PAPA_NET_SOCKET_EVENT_HANDLER_FACTORY_H_
